Lecture 3 - OSI Layers
- في أبسط شكل، عندك جهازين (end-points) متصلين ببعضهم بكابل LAN (Network Media) و connectors (RJ45) بيشاركوا بيانات عن طريق الـ NICs.
- المشكلة: لو جهاز شغال Windows والتاني شغال MAC OS، هما هيتكلموا مع بعض ازاي وكل واحد ليه نظام مختلف؟
- عشان نحل المشكلة دي، الـ ISO (International Organization for Standardization) طرح في 1984 نموذج اسمه OSI Model (Open System Interconnection Model).
- الـ OSI Model هو reference tool بنفهم بيه ازاي البيانات بتتنقل بين أي نظامين متصلين بالشبكة.
- بيقسم عمليات الاتصال لـ 7 layers (طبقات).
- كل layer ليها وظائف محددة عشان تخدم اللي فوقها وتستقبل خدمات من اللي تحتها.
- الـ 3 layers الي تحت شغلها تمرير البيانات عبر الشبكة للـ end system.
- الـ 4 layers الي فوق شغلها في الـ end system عشان تكمل عملية الاتصال.
Application Layer :
- بيحدد ايه البروتوكول الي بيدعم الـ action الي انته بتعمله وبيوفره.
- بروتوكولات زي HTTP , HTTPs , FTP , SMTP , DNS.
- بيوفر خدمة Network Virtual Terminal (NVT) بيسمح للمستخدم يعمل login على host بعيد (زي SSH/Telnet)
- بيوفر خدمة File Transfer Access and Management (FTAM) والي بتخلينا قادرين نوصل للملفات ونديرها على جهاز بعيد
- بيوفر خدمات البريد الإلكتروني (Mail Services) زي SMTP , POP3 , IMAP.
Presentation Layer :
- بيحول الداتا من حروف وارقام الي binary ← العملية دي اسمها Translation
- بيضغط الملفات عشان يقلل حجمها ← Data compression
- بيعمل تشفير للداتا قبل ما تتبعت (Encryption ), والشخص الي بيستقبل البيانات بيفك التشفير ده (Decryption) ( بروتوكولات TLS/SSL بتشتغل هنا)
Session Layer :
- مسؤول عن إدارة الجلسات (Session Management) بين الأجهزة :
- مسؤول عن إنشاء واستمرار وإنهاء الجلسات (Session Establishment, Maintenance & Termination) بين الجهازين.
- بيسمح بالتواصل (Transmission ) بين الأجهزة سواء هو Simplex ولا Half-Duplex ولا Full-Duplex.
- مسؤول انه يتحقق من الصلاحيات (Authentication & Authorization).
- بيعمل (Synchronization) عن طريق إضافة Checkpoints في البيانات عشان لو حصل انقطاع يكمل من آخر نقطة.
- بيتحكم في الحوار بين الأنظمة (Dialog Controller) وبيسمح بالتواصل سواء Half-Duplex او Full-Duplex.
Transport Layer :
- مسؤوله عن نقل البيانات
- بيعمل Segmentation (بيقسم الداتا لاجزاء صغيره)
- كل segment بيبقي ليه port number عشان يحدد التطبيق اللي هيستقبل البيانات.
- كمان كل segment بيبقي ليه sequence number عشان يحدد ترتيب الـ segment
- بيعمل Flow control (بيتحكم في الـ transfer rate بحيث سرعة الإرسال والاستقبال تكون مناسبة للطرفين.
- بيحدد نوع البروتوكول الي هنستخدمه في نقل البيانات حسب الاكشن الي اليوزر بيعمله اما هيستخدم
- الـ TCP (دقيق لكن مش سريع اوي)
- او الـ UDP (مش دقيق لكن سريع جدا) وبنستخدمه في الـ streaming زي مثلا الفيديوهات او الالعاب
- بتوفر Service Point Addressing عن طريق إضافة الـ Source Port والـ Destination Port في الـ Header عشان البيانات توصل للـ Process الصح.
- بتدعم بروتوكولات زي NetBIOS و PPTP المستخدمة في بعض خدمات الشبكات والاتصالات.
- مسؤولة عن نقل البيانات (Data Transfer) بين الأجهزة.
Network Layer :
- بتعمل Logical Addressing
- بتاخد الـ Segments من ال Transport layer وتضيف عليهم الـ IP Address بتاعة الـ sender , receiver عشان تكون Packets
- بتعمل routing وهي عملية اختيار افضل مسار الداتا هتمشي فيه
Data Link Layer :
- بتستقبل الـ Packets من الـ Network Layer وبتحولها لـ Frames عشان تبعتها على الشبكة.
- بتعمل Physical Addressing عن طريق إضافة الـ MAC Address بتاع الـ Sender والـ Receiver داخل الـ Frame.
- وبتستخدم بروتوكول ARP عشان تجيب الـ MAC Address المقابل للـ IP Address.
- بتعمل Framing عن طريق إضافة Header و Trailer للبيانات.
- وكمان بتحط Special Bit Patterns في بداية ونهاية الـ Frame عشان تحدد حدود الـ Frame بشكل صحيح.
- بتعمل Flow Control لضمان إن سرعة الـ Sender والـ Receiver تكون متقاربة ومناسبة لبعض.
- بتعمل Error Detection & Error Control لاكتشاف الأخطاء في الـ Frames.
- ولو الـ Frame حصلها Damage أو Lost بيتم إعادة إرسالها (Retransmission).
- الأجهزة اللي بتشتغل في الـ Data Link Layer :
- Switches
- Bridges
Physical Layer :
-
بتحول البيانات (Bits) إلى Signals عشان تقدر تنتقل عبر الوسط الفيزيائي.
- ممكن تكون Electrical Signals
- أو Optical Signals
- أو Radio Signals
-
بتوفر Bit Synchronization عن طريق توفير Clock يزامن بين الـ Sender والـ Receiver على مستوى الـ Bits.
-
بتحدد معدل نقل البيانات (Bit Rate Control) يعني عدد الـ Bits اللي بتتبعت في الثانية.
-
بتحدد شكل الشبكة الفيزيائي (Physical Topologies) زي:
- Bus
- Star
- Mesh
-
بتحدد طريقة تدفق البيانات (Transmission Mode) هل هي:
- Simplex
- Half-Duplex
- Full-Duplex
-
الأجهزة اللي بتشتغل في الـ Physical Layer تشمل:
- Hub
- Repeater
- Modem
- Cables
مثال كامل :
مثال عن Email Data Flow من أول ما تكتب الإيميل لحد ما يوصل:
-
جهاز المرسل (Device A) — Encapsulation:
-
ا Application Layer بيكتب الإيميل في التطبيق وبيتضاف HTTP/SMTP header
-
ا Presentation Layer: البيانات بتتشفر وتتضغط عشان تبقى جاهزة للنقل
-
ا Session Layer: الاتصال بيتأسس بين الجهازين
-
ا Transport Layer: البيانات بتتقطع Segments وبيتضاف Source/Destination Port Number و Sequence Number
-
ا Network Layer: الـ Segments بتتغلف في Packets وبيتضاف Source/Destination IP Address
-
ا Data Link Layer: الـ Packets بتتغلف في Frames وبيتضاف Source/Destination MAC Address
-
ا Physical Layer: الـ Frames بتتحول لـ Bits (إشارات كهربائية/ضوئية/راديوية) وبتتبعت على الشبكة
-
-
جهاز المستقبل (Device B) — De-encapsulation:
-
ا Physical Layer: بيستقبل الإشارات ويحولها لـ Bits ويوديها للـ Data Link
-
ا Data Link Layer: بيشيل MAC header ويتأكد من إن الـ Frame مفيهاش أخطاء (Error Detection)
-
ا Network Layer: بيشيل IP header ويشوف الـ destination عشان يعرف يوصل الـ Packet لمين
-
ا Transport Layer: بيشيل TCP/UDP header ويعمل Reassembly للـ Segments ويعرف إيه التطبيق اللي محتاج البيانات من Port Number
-
ا Session/Presentation/Application: يفك التشفير ويظهر الإيميل للمستخدم
-








